import React, { useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { useKeycloak } from '../contexts/KeycloakContext';

/**
 * 登录成功页面
 * 用于处理登录成功后的重定向逻辑
 */
const LoginSuccessPage = () => {
  const navigate = useNavigate();
  const { authenticated, initialized } = useKeycloak();

  useEffect(() => {
    if (initialized) {
      if (authenticated) {
        console.log('登录成功，准备重定向');
        
        // 获取保存的重定向路径
        const redirectPath = sessionStorage.getItem('auth_redirect_path') || '/';
        console.log('重定向到路径:', redirectPath);
        
        // 清除保存的路径
        sessionStorage.removeItem('auth_redirect_path');
        
        // 使用 window.location.href 而不是 navigate，确保完全刷新页面
        // 这样可以确保 Keycloak 状态正确同步到应用程序
        setTimeout(() => {
          window.location.href = redirectPath;
        }, 300); // 添加短暂延迟确保状态更新
      } else {
        // 如果未认证，重定向到登录页
        console.log('未认证，重定向到登录页');
        setTimeout(() => {
          window.location.href = '/login';
        }, 300); // 添加短暂延迟确保状态更新
      }
    }
  }, [authenticated, initialized, navigate]);

  return (
    <div className="login-success-page">
      <div className="loading-container">
        <div className="loading-spinner"></div>
        <p>登录成功，正在跳转...</p>
      </div>
    </div>
  );
};

export default LoginSuccessPage;
